;(function(window, $){
  // 判断 数组中是否存在某个元素，返回其 索引值
  Array.prototype.in_array = function(target) {
    let i = this.length;
    while(i--) {
      if(target == this[i]) {
        return i;
      }
    }
    return -1;
  }
  //对象数组， 根据对象的key值，返回该对象在数组的位置
  Array.prototype.key_is_in = function(key) {
    let i = this.length;
    while(i--) {
      let _obj = this[i];
      for(let k in _obj) {
        if(k == key) {
          return i;
        }
      }
    }
    return -1;
  }
  //对象数组 根据对象对应key的值是否相等，查找该项在数组的索引值
  Array.prototype.findByKey = function(key, value) {
    let n = this.length,
        i = 0;
    while(i < n) {
      let _obj = this[i];
      for(let k in _obj) {
        if(k == key && _obj[k] == value) {
          return i;
        }
      }
      i++;
    }
    return -1;
  }
  
  Date.prototype.Format = function (fmt) { //author: meizz 
        var o = {
            "M+": this.getMonth() + 1, //月份 
            "d+": this.getDate(), //日 
            "h+": this.getHours(), //小时 
            "m+": this.getMinutes(), //分 
            "s+": this.getSeconds(), //秒 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }
})(window,jQuery)